package com.atguigu.jxc.service;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.entity.Goods;
import com.atguigu.jxc.entity.GoodsType;
import com.atguigu.jxc.util.PageResult;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface GoodsService {

    ServiceVO getCode();
    // 分页查询商品库存信息
    Map<String, Object> getStockInfoPage(Integer page, Integer rows,String codeOrName,Integer goodsTypeId);
    // 分页查询商品信息
    PageResult getGoodsInfoByPage(Integer page, Integer rows, String goodsName, Integer goodsTypeId);
    //  查询商品单位
    Map<String, Object> getGoodsUnit();
    //  修改商品信息
    void updateGoods(Goods goods, Integer goodsId);
    //  新增商品信息
    void insertGoods(Goods goods);
    //  删除商品信息
    int deleteGoodsInfoById(Integer goodsId);
    //  分页查询无库存商品信息
    PageInfo<Goods> getNoInventoryByPage(Integer page, Integer rows, String nameOrCode);
    //  分页查询有库存商品信息
    PageInfo<Goods> getHasInventoryByPage(Integer page, Integer rows, String nameOrCode);
    //  添加商品期初库存
    void updateGoodsStock(Integer goodsId, Integer inventoryQuantity, double purchasingPrice);
    //  删除商品库存信息
    int deleteGoodsStock(Integer goodsId);
    //  查询库存报警商品信息
    Map<String, Object> getListAlarm();


    // 打开商品类别选择树
//    List<GoodsType> getGoodsType();

}
